Methods, Systems, and Products for Automated Control of Devices

ABSTRACT

Methods, systems, and products are disclosed for automated control of devices. A tag is received with Electronic Programming Guide data, and the tag includes control data. The tag is stripped from the Electronic Programming Guide data and communicated to a device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.11/601,957, filed Nov. 20, 2006 and now issued as U.S. Pat. No. ______(Attorney Docket 00025 CON), which is a continuation of U.S. applicationSer. No. 09/752,267, filed Dec. 29, 2000 and issued as U.S. Pat. No.7,140,033, with both applications incorporated herein by reference intheir entirety. This application also claims the benefit of U.S.Provisional Patent Application No. 60/213,058, filed Jun. 21, 2000, andincorporated herein by reference in its entirety. This application alsoclaims the benefit of U.S. Provisional Patent Application No.60/214,529, filed Jun. 27, 2000, and incorporated herein by reference inits entirety.

TECHNICAL FIELD

This invention deals with methods and systems for delivering andexecuting at a Set Top Box (“STB”) or other consumer electronic device,control or program data, whereby the STB interfaces with variousexternal devices for sending or receiving instructions or information tothose devices. Exemplary embodiments are illustrated, including methodsand systems for supplementing delivered programming with Internetprogramming via a PC or Internet appliance coupled to the STB,controlling environmental equipment such as home theatre equipment, andmanaging programming scheduling via interface with a personal digitalassistant (“PDA”).

BACKGROUND OF INVENTION

Modern cable, satellite, wireless or other communications networksdeliver a host of programming content and other data to viewers'premises, each of which generally is outfitted with a STB or ConsumerElectronics device (“CE device”) for decoding and displaying theprogramming. STBs are usually low-cost devices and, due to engineeringconstrains, presently lack the necessary processor speed, memory andcomponents to support Internet applications or advanced data gatheringcapabilities. However, many STBs do have the capability to communicatewith an external device through one of several communication mechanisms,such as an IR blaster, serial port, modem, or expansion bus peripheral.These communication devices have not in the past been used for much morethan entering typical scheduling and control data into the STB, however.

Scheduling has been made easier because part of the programmingdelivered to STBs are Electronic Program Guides (“EPGs”). These guidesprovide a viewer with program scheduling information, e.g. a program'schannel or other characteristics of the program such as whether theprogram supports particular protocols like Dolby AC-3 sound, etc. EPGsalso can be used to accomplish other useful tasks, such as instructing aSTB to tune to a program based on user preferences or instructing a VCRto record a program. Indeed, some EPGs offer the ability to createreminders for program start times. These reminders usually appear asvisual alerts on the television screen when the program is about tobegin. However, if the user is not watching television at the time thesealerts occur, they are of little value.

SUMMARY OF THE INVENTION

Certain terms used in this section are described more fully below,particularly in the “Terminology” session. This invention aims toprovide systems and methods to leverage existing technologies located ata viewer's premises, e.g., the viewer's PC, existing PC Internetconnection, STB, and existing EPG data delivery format, to deliver,receive and act upon information and instructions for certain externaldevices. Exemplary implementations are described where: (1) an STB isconnected to a viewer's PC and an application, residing on the STB,retrieves data from the PC using special tags embedded in EPG programdata or accesses a host of special Internet related applications whileviewing other programming; (2) an STB makes use of information added toor already included in EPG program data to control aspects of the user'shome theater environment during a TV program; (3) an STB communicateswith an application on a Personal Digital Assistant (PDA) to setreminders about programming, for example, start times, etc. or downloadprogram information to the PDA for storage and display, etc.

Program Supplementation: In one embodiment, control tags are insertedinto the data stream that provides STBs with the EPG data. Anapplication residing on the STB identifies the control tags, strips themout and processes the instructions therein. The instructions may causethe STB to communicate with a PC, Internet appliance or other computingdevice that has been coupled to the STB via any of various knowncommunication mechanisms. The STB thereby can take advantage of thefunctionality, processing power and display capabilities of thecomputing device. Using this capability, an STB can supplement itslimited capabilities by using the processing power of the PC and theinformation gathering ability of a PC connected to the Internet. By wayof example, tags delivered to the STB may cause it to retrieve Internetdata via the user's PC or Internet appliance. That Internet data can beused to supplement EPG data on the STB or display data synchronized to acurrently playing event. Alternatively, retrieved Internet data may bestored on the PC for immediate or later viewing.

Environmental Control: In another embodiment, the tags embedded in theEPG data stream (or the programming itself) comprise certain controldata that correlate to a particular program or event. The control datadescribes how the user's home theater equipment (e.g., stereo,wall-screen TV, thumpers, scent extractors, etc.) should be optimallycontrolled during the program presentation. Control data can be used todo such things as configure home audio equipment to best accommodate aprogram's soundtrack, adjust TV picture settings, automate roomlighting, mute commercials, or even “censor” portions of a TV program.

PDA Interfacing: Many people now carry PDAs, which provide schedulingand task management capabilities. This invention also provides methodsfor allowing external devices like PDAs to interface with the STB inorder to display alerts or other information concerning programmingusing the PDA unit's built-in calendar and alarm capabilities.Similarly, the PDA may be configured to send information to the STBapplication, for example, instructing it to set reminders for programsor to automatically record programs on a VCR, DVR or other storagemedium.

This invention aims to achieve one, combinations, or all of thefollowing objectives:

-   -   To formulate program control data associated with discrete        portions of programming, which contain information related to        controlling presentation of the programming by controlling the        manner in which various home theatre or other display and audio        devices should be controlled;    -   To provide an STB that receives and processes control data and        communicates instructions therefrom to external devices coupled        to the STB;    -   To formulate control data that describes when and how to access        supplemental program data, such as data from an Internet        Website, via a user's PC, Internet appliance or other computing        device;    -   To provide methods for coupling an STB to a user's PC, Internet        appliance or other computing device in order to exchange        information and instructions.        Other objects, advantages and features of this invention will be        apparent from review of the remainder of this document,        including the drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating an embodiment of a system forcontrolling a home automated network using EPG tag information accordingto the present invention.

FIGS. 2A-C are diagrams illustrating methods of connecting the STB tothe home automated network described in FIG. 1.

FIG. 3 is a diagram illustrating an embodiment of a system forfacilitating communications between a STB and a PDA according to thepresent invention.

FIGS. 4A-C are diagrams illustrating methods of connecting the STB tothe PDA described in FIG. 3.

FIG. 5 is a diagram illustrating a networked control system, including aPC, according to the present invention.

FIGS. 6A-E are diagrams illustrating methods for connecting the STB tothe PC described in FIG. 5.

DETAILED DESCRIPTION I. Terminology

Before further describing a particular implementation of the presentinvention that is shown in the drawings, the following terms areexplained, although more thorough understanding of the terms can bereached by resorting to this entire document. These term explanationsare not intended to be conclusive, as technology will change and skilledpersons will recognize other ways to implement the same functionality.

-   -   “Communications network” includes any network or infrastructure        that supports communications between multiple devices, including        broadband distribution networks, public or private        packet-switched or other data networks, including the Internet,        or circuit-switched networks such as the public switched        telephone network and wireless networks.    -   “Consumer electronics device” or “CE device” is any electronic        device or combination of devices capable of receiving,        displaying, playing, presenting, recording, deleting, editing,        substituting, or disabling audio and/or video content. Exemplary        CE devices include: televisions, personal computers, cable        set-top boxes, video cassette recorders, digital video        recorders, digital video disc players, compact disc players, and        personal computers.    -   “Content data” is any information corresponding to at least a        portion of a program and related to the content of the program,        including content ratings and content attributes, traits, or        characteristics.    -   “Control data” is any information corresponding to at least a        portion of a program and related to the manner in which the        portion may be disabled, modified, replaced, deleted, edited, or        otherwise modified by a consumer electronics device, set top box        or the like.    -   “Program” or “Programming” is any electronic presentation of        information, such as text, audio, video, graphics, or any other        form of multimedia, over a communications network. Exemplary        programming includes: Internet programming, television        broadcasts, cable television programming, pay-per-view        programming, video-on-demand, interactive television        programming, satellite programming, and multimedia        presentations.    -   “Program data” means content or control data or other data        associated with or describing the content or manner of        presentation of programming.    -   “Service provider” is any entity that delivers programs to a        program viewer, including cable providers, television        broadcasters, satellite providers, and entities supporting        Internet World Wide Web (“Web”) sites.

II. System Overview—EPG Environmental Control

Briefly, FIGS. 1, 3 and 5 show system components for delivering datathat controls various devices that assist in the optimal presentation ofprogramming. In the subscriber's premises, a Set-Top Box 3 connectsthrough a distribution network 2 to a headend 1. Set-Top Box 3 alsoconnects to the subscriber's consumer electronic (CE) device 4, forexample a VCR, stereo, computer, etc. and/or home automation network 5.The CE device 4 is in turn connected to the Internet through an Internetservice provider. As skilled persons will acknowledge, instead of STB 3,the invention could be implemented using software and hardwareassociated with a CE Device, such as a TV 8.

A. STB—CE Device Connection

Set-Top Box 3 can be connected to CE device 4 and/or home automationnetwork 5 through a variety of means. Some detailed examples are listedbelow. The hardware details of the STB-home theater connection areprovided here for technical reference only and the invention is notlimited to such details.

-   -   1) Using an IR blaster connected to the STB's IR blaster port,        the STB may use IR signals to communicate with consumer        electronic devices such as a stereo amplifier or a home        automation network. (FIG. 2A)    -   2) Using the STB's serial port, the STB may connect to a        peripheral that converts the RS-232 signals used by the STB into        a standard signal used by CE devices and home automation        networks. Such signals include signals in the IEEE 1394 (aka:        Firewire) or CEBus (FIG. 2B) formats.    -   3) Using the STB's expansion bus, the STB could be connected to        the peripheral described above, as shown in (FIG. 2C).

B. Data Tags

Headend 1 houses an EPG Data Server 6 that collects program data from adata provider. The program data includes information on each TV programsuch as the program title, start time, duration and description. EPGData Server 6 sends the program data through distribution network 2 toSet-Top Box 3 located in the subscriber premises. Some of theapplications listed in the next section may be accomplished by usinginformation already contained within the EPG data, such as a program'sstart time and Dolby AC-3 indicator. However, specific control by theEPG must be carried out using special data referred to as “tags,” whichaccording to this invention are added to EPG program data to providemore detailed information on controlling the user's home theaterenvironment. The tags instruct the STB application to send controlinformation to specific CE devices and/or home automation networksduring the course of a program. For instance, a tag may instruct the STBto configure a stereo amplifier, adjust the TV picture, and dim thelights at the start of a program. A tag may also indicate times at whichcommercials or possibly objectionable content occurred during a programand send instruction to a TV to mute or blank those portions of theprogram.

The tags may be added to the EPG data by the EPG data provider or couldbe added by an optional device in headend 1 referred to as the “HomeControl Tag Server” 7. In this latter case, the EPG Data Server 6 sendsthe EPG data to the Home Control Tag Server 7, which in turn insertsspecial data referred to as “tags” into the program data for particularTV programs.

Tags may be classified as fixed or variable tags; “Fixed Tags” specify aparameter for the entire length of a program while “Variable Tags” varya parameter at different times during a program. An example of avariable tag would be one that mutes TV commercials.

The tag would be encoded as a special ASCII string and could include thefollowing elements:

-   -   1) Command. A command may be an instruction that an applet on        the STB send control instructions to specific CE devices and/or        a home automation network. For instance, the command could be        “Switch Tuner to Dolby Surround Sound.”    -   2) Parameters. Each command could have one or more parameters        associated with it. For instance, “raise Dolby sound to level        5.”    -   3) Start Offset and Duration. A command could have a start        offset and duration associated with it to indicate when the        command becomes active during the course of a program. (A        negative start offset could be used to indicate that the command        becomes active before a program begins.) More than one start        offset and duration could be provided to make a command active        during different portions of a program (e.g. mute commercials).

A detailed example of a possible tag format follows, although manydifferent tag formats and instructions are possible:

<command [param1, param2,...] > -or- <OFFSET start1;duration1,[start2;duration2, start3;duration3 ...] >  <command [param1,param2,...] > </OFFSET>In this example,

-   -   “< >” indicates the beginning and end of a tag.    -   “Command” indicates an instruction to the STB application.    -   “Param” indicates a parameter associated with the command.    -   “OFFSET” and “/OFFSET” is used to indicate that the enclosed        command(s) begin at some offset from the beginning of the        program.    -   “Start” is the starting offset from the beginning of the        program.    -   “Duration” is the length of time the command is valid from the        specified “Start” offset.    -   If Duration is not specified, the command remains in effect        until the end of the program or until some other event occurs.

Here are some examples of how this tag format could be used to instructthe STB to configure home audio equipment and lighting for aPay-Per-View event:

-   -   PPV Command: <LT1 50%><ST_VOL 20%><ST_EQU 80,50,60,65,70><ST_SUR        AC3>

In the PPV Command:

-   -   “LT1”, “ST_VOL”, “ST_EQU”, and “ST_SUR” are instructions to set        room lighting, stereo volume, stereo equalization, and stereo        surround sound, respectively when the program begins.    -   “50%”, “20%”, “80,50,60,60,70”, and “AC3” are parameters used by        each of the above instructions.    -   Block Command: <OFFSET 00:05:13; 5, 00:19:32; 20><BLOCK-MUTE        PG-13></OFFSET>

In the Block Command:

-   -   “BLOCK-MUTE” is a command to mute objectionable portions of a        program if the user has the option activated.    -   “PG-13” is the rating level the user's STB setting would have to        match or exceed in order for the muting to take place.    -   “00:05:13; 5, 00:19:32; 20” are two different start offset and        duration pairs, meaning that the command will be active at two        different times during the program.

Tags may be inserted into a variety of places in the program data. A newdata field could be created to accommodate the tags or the tags could beadded to an existing EPG data field such as the program description. Thelatter option is optimal since it can use existing EPG data formats suchas DVB-SI.

For instance, the tag could be encoded as an ASCII text string and addedto the end of a program's description. The STB application wouldrecognize the tag and act on its instructions. However, the STBapplication would not display the actual tag string to the subscriberwhen the subscriber displays the program description.

C. System Capabilities

Using the system described above, a number of control capabilities maybe programmed into the EPG data allowing a broadcast provider to offernew and enhanced programming and supplemental products. In addition,users are able to optimize and enhance their television programming. Forexample, the user could have the ability to adjust, enable or disableany aspect of any application listed below. For instance, the user coulddisable automatic stereo control for all programs or make it active onlyfor purchased IPPV programs. The following is a listing of some of theenhanced capabilities of the present invention:

-   -   Stereo Amplifier Control. The STB application may use existing        EPG data or special tags embedded in the program data to adjust        a stereo amplifier. For instance, existing EPG data such as a        program's AC-3 indicator could be used by the STB application to        put the stereo into AC-3 mode during a program. Special tags        could be added to program data to do such things as adjust the        stereo volume, stereo equalizer, or speaker levels. At the end        of the program, stereo settings could be restored to their        original or default settings.    -   TV Control. The STB application could use tags embedded in the        program data to adjust different aspects of a television set.        For instance, tags could adjust picture or sound settings to        best accommodate a particular program. At the end of the        program, picture or sound settings could be restored to their        original or default settings.    -   Lighting Control. The STB application could use existing EPG        data such as a program's start and end times or special tags        embedded in the program data to control room lighting. For        instance, room lights could be set to automatically dim at the        start of a purchased IPPV program and then brighten at the end        of the program. Also, special tags could instruct the STB        application to brighten room lights during TV commercials,        allowing the user to find their way to the kitchen.    -   Other Home Automation Control. The STB application could use        existing EPG data such as a program's start and end times or        special tags embedded in the program data to control other parts        of a home automation network. For example, at the start of a        program, the STB application could automatically mute a        telephone ringer, adjust window shades, adjust room temperature,        or activate a popcorn popper.    -   Commercial Mute/Replace. The STB application could use tags        embedded in the program data to mute volume, or tune to a        special channel or video input during TV commercials.    -   Dynamic Parental Controls. The STB application could use tags        embedded in the program data to mute or blank portions of a        program that exceed a certain parental control rating.    -   On-Screen Graphics and PIP Display. The STB application could        use tags embedded in the program data to enable or disable        on-screen displays generated by the STB or some other consumer        electronics device. Also, tags could be used to automatically        enable, disable or configure a Picture-in-Picture (PIP) display.    -   Motion Simulator. The STB application could use tags embedded in        the program data to control a motion simulator or a feedback        device such as a chair that vibrates.    -   Aroma Generator. The STB application could use tags embedded in        the program data to control an aroma generator. The aroma        generator could generate aromas that correspond to the content        of a program.

III. System Overview—PDA Reminder Exchange

FIG. 3 shows system components for connecting the STB to a PDA. In thesubscriber's premises, a Set-Top Box 3 is connected through adistribution network 2 to a Headend or Transmission Facility 1. Set-TopBox 3 is also connected to the subscriber's Personal Digital Assistant(PDA) 4. An EPG Data Server 5 in the Headend or Transmission Facility 1provides Set-Top Box 3 with program information on each TV program suchas program title, start time, duration and description.

A. STB—PDA Connection

Set-Top Box 3 can be connected to a Personal Digital Assistant 4 througha variety of means. Some detailed examples are listed below. Note thatthe hardware details of the STB—PDA connection are not the main focus ofthis invention, which may be implemented over a number of platforms.

-   1) Using an IR blaster connected to the STB's IR blaster port, the    STB could send IR signals to a PDA with a built-in IR receiver.    Also, the PDA's built-in IR transmitter could be used to send IR    signals to the existing IR receiver on the STB for two-way    communications. (FIG. 4A)-   2) Using the STB's serial port, the STB could be connected to a data    communications port on the PDA. This means of communication would    offer two-way data transmission. (FIG. 4B)-   3) Using a peripheral connected to the STB's expansion bus (e.g. an    Ethernet card), the STB could be connected to a data communications    port on the PDA. This means of communication would offer two-way    data transmission. (FIG. 4C)

B. System Capabilities

A STB application such as an Electronic Program Guide (EPG) would beenhanced to send and receive information to and from a PDA using thesystem described above. In this embodiment, the following applicationscould be supported.

-   -   1) Set PDA Reminders. While watching television, the user sets        reminders for current or future programming using the enhanced        EPG application running on the STB. After program reminders are        set, the user positions the PDA in front of the STB's IR blaster        (or connects the PDA to the STB via some other hardware        configuration, as shown in FIGS. 4A-C, and the enhanced EPG        application communicates these reminders to a special        application residing on the PDA. The special PDA application        adds the program reminder as an entry in the PDA's built-in        calendar application. It also configures the calendar        application to notify the user with a visual and/or audible        alarm before the start of the program. Of course, instead of        using the PDA's built-in calendar application, the special PDA        application may be designed to perform these functions on its        own.    -   2) Display EPG Info from the STB on the PDA. The enhanced EPG        application residing on the STB sends EPG program data to        software residing on the PDA for storage and display.    -   3) Schedule EPG Reminders or Recordings. After EPG program data        has been sent to the PDA, the user sets program reminders and/or        schedules program recordings on software residing on the PDA. At        some point later in time, the PDA transmits the settings to the        enhanced EPG application residing on the STB, which in turn sets        program reminders and schedules program recordings within the        EPG application.

IV. System Overview—PC InterLink

Briefly, FIG. 5 shows a variety of system components for connecting andcommunicating between a STB and a PC. In the subscriber's premises,Set-Top Box 3 is connected through distribution network 2 to Headend orTransmission Facility 1. Set-Top Box 3 is also connected to thesubscriber's Personal Computer (PC) 4. PC 4 is connected to the Internetthrough an Internet service provider. Of course, instead of STB 3, theinvention could be implemented using software and hardware associatedwith some other CE Device such as a TV, VCR, or DVD Player.

A. STB—PC Connection

Set-Top Box 3 can be connected to Personal Computer 4, in FIG. 5,through a variety of means. Some detailed examples are listed below.

-   -   1) Using the IR blaster port, the STB could communicate with a        PC using one of the following two means. These means of        communication offer only one-way data transmission at slow        speeds.        -   (a) An IR blaster connected to the STB's IR blaster port            could send IR signals to an IR receiver peripheral connected            to a standard port on a PC. (FIG. 6A)        -   (b) The STB's IR blaster port could send electrical signals            directly to a peripheral connected to a standard port on a            PC. The peripheral would translate the electrical signals            sent out via the STB's IR blaster port into signals            understood by one of the PC's standard ports. (FIG. 6B)    -   2) Using the STB's serial port, the STB could be connected to        the PC's serial port. This means of communication would offer        two-way data transmission at moderate speeds. (FIG. 6C)    -   3) Using a peripheral connected to the STB's expansion bus (e.g.        an Ethernet card), the STB could be connected to a standard port        on a PC. This means of communication would offer two-way data        transmission. (FIG. 6D)    -   4) Using the STB's modem phone port, the STB could communicate        with a modem connected to the PC. This means of communication        would offer two-way data transmission. (FIG. 6E)

B. Data Tags

Referring to FIG. 5, Headend or Transmission Facility 1 houses an EPGData Server 6 that collects program data from a data provider. Theprogram data includes information on each TV program such as the programtitle, start time, duration and description. The EPG Data Server sendsthe program data to an “Internet Tag Server” 7 that inserts special datareferred to as “tags” into the program data for particular TV programs.

The tags act as instructions to a STB application to retrieve Internetdata from a PC. Before retrieving this data, the tag could includeinstructions for presenting the subscriber with different data retrievaloptions. For instance, a tag in the program data for a baseball gamecould instruct the STB to display options on the TV screen called“Batter Statistics” and “Pitcher Statistics.” If the subscriber selectsthe “Batter Statistics” option, the tag instructs the STB to retrievestatistics on the current batter from a PC connected to the Internet anddisplay them on the TV screen.

A tag may include the following elements:

-   -   1) Command. A tag would include a command such as “fetch        Internet data from a PC” or “display a menu of data retrieval        options to the subscriber.” Also, in addition to retrieving        Internet data, commands could do other things such as “bookmark        a web site on the subscriber's PC.” See the “System        Capabilities” section below for further examples.    -   2) Command URL. A command could have a URL associated with it.        The URL could be a normal Internet URL such as        “www.bellsouth.com” or, to save memory, the URL could be        represented in some shorthand notation, e.g. “wbls”, understood        by the STB or PC applications.    -   3) Command Parameters. A tag command could have one or more        parameters associated with it. For example, the command to        display a menu of data retrieval options to the subscriber could        have a parameter that indicates the format that the menu options        are to be displayed in. Another parameter might indicate when        the menu should be displayed.    -   For instance, a menu could be displayed while the subscriber is        watching the TV program or when the subscriber calls up EPG        information on the program.    -   4) Menu Option Names. A tag could list the names of menu options        to be displayed to the subscriber.    -   5) Menu Option Actions. A tag could include instructions on what        to do if the subscriber selects a particular menu option. For        instance, an action might be to retrieve and display a specific        type of data from an Internet site.    -   6) Menu Option Parameters. A tag could include parameters for a        menu option. For instance, a parameter could instruct the STB        application on how to display results when a menu option is        selected.        A detailed example of a possible tag format follows, although        many different tag formats and instructions are possible.

<command URL [param1, param2,...] >   [<menuoption1 action1[param1,param2,...]>,  <menuoption2 action2 [param1,param2,...]>  ...</command>]

Here is an example of how the tag format could be used to present thesubscriber with menu options and retrieve supplemental EPG data for themovie “The Matrix”. The following represents an embedded command forthat movie:

<DISPMENU wbls/matrix descript,buttons1>  <”Director Bio”DispData=director box1>  <”Cast Notes” DispData=cast box1> </DISPMENU>In this example,

-   -   “DISPMENU” is a command to display menu options for the program    -   “wbls/matrix” is shorthand notation for a special web URL setup        to provide data for the program. In this example, “wbls/matrix”        is shorthand notation for the web URL        “www.bellsouthmovies.com/matrix”.    -   “descript,buttons1” are command parameters. In this example,        “descript” indicates that the menu should be displayed when the        subscriber calls up the program's description box, and        “buttons1” indicates a standard format in which to display the        menu options.    -   “Director Bio” and “Cast Notes” are the names of the menu        options to display to the subscriber.    -   “DispData=director” and “DispData=cast” are the actions the STB        application should take when the subscriber selects the menu        options. In these cases, the STB application will retrieve data        on the director or cast notes from the web URL “wbls/matrix”        (“www.bellsouthmovies.com/matrix”).    -   “box1” indicates the format in which to display the resulting        data.

Tags can be inserted into a variety of places in the program data. A newdata field could be created to accommodate the tags or the tags could beadded to an existing EPG data field such as the program description. Thelatter option is optimal since it can use existing EPG data formats suchas DVB-SI. For instance, the tag could be encoded as an ASCII textstring and added to the end of a program's description. The STBapplication would recognize the tag and act on its instructions.However, the STB application would not display the actual tag string tothe subscriber when the subscriber displays the program description.

C. System Capabilities

Using the system described above, the following capabilities could besupported:

-   -   1) Supplemental program information. Existing EPG data for a        current or future event is supplemented by data retrieved from a        PC attached to the Internet. The additional data can be        displayed on the TV screen as part of the EPG data or displayed        on the PC screen in a special window. Multiple options may be        presented. For example, the STB application may display a menu        giving the subscriber the ability to retrieve data on a show's        cast or call up trivia on the particular episode.    -   2) Real-time data. Data is synchronized to a currently playing        event. For instance, current pitcher and batter statistics could        be provided during a baseball game. The STB application could        present a menu in the bottom corner of the screen allowing the        subscriber to display statistics on either the pitcher or        batter. If the subscriber selects an option, the STB application        requests the information from the PC. The PC, in turn, visits a        special web site that provides data that is specially formatted        and synchronized to a TV channel being viewed. The statistics on        the current pitcher or batter are then displayed in a window        (e.g., a picture in picture or PIP window) on the TV screen.    -   3) PC browsing. The STB application allows the subscriber to        display related data on a current or future event on the        subscriber's PC. The data could be displayed on the PC in        several different ways. For instance, the data could be part of        a web page that is automatically called up in a web browser such        as Netscape. The data could also be stored on the PC for later        viewing.    -   4) Automated bookmarks. Instead of going ahead and displaying a        related web page on the PC, the STB application could instruct        the PC to store a web page as a bookmark for later viewing.    -   5) Purchasing. The STB application allows the subscriber to        purchase products related to a current or future event over the        Internet. While the STB application would initiate the purchase,        the complete purchase process could take place on the STB or the        PC.    -   6) Calendar reminder. The STB application could instruct the PC        to add the name and start time of an event to a calendar        application on the PC. The calendar application would alert the        subscriber to when an event begins. The calendar application        could interface with a personal digital assistant such as a Palm        Pilot, etc. by downloading information when the PDA is        synchronized with the calendar function on the PC.    -   7) Printing. The STB application could send event information to        a PC and instruct the PC to print the event information on a        printer.    -   8) Screen capture. The STB application could send a screen        capture to the PC for use in a variety of PC applications.    -   9) Bill review. The STB application could instruct the PC to        retrieve the subscriber's billing information from the Internet        for display on the TV or PC.    -   10) Interactive help. The STB application could instruct the PC        to retrieve interactive help from the Internet for display on        the TV or PC.

While this invention has been described in conjunction with specificembodiments, it is evident that many alternatives, modifications, andvariations will be apparent to those skilled in the art. Accordingly,the preferred embodiments of the present invention that are heredescribed are intended to be illustrative and not limiting. Variouschanges may be made without departing from the true spirit and fullscope of the invention as defined in the following claims.

1. A method, comprising: receiving electronic programming guide datacomprising a tag that identifies a command for an external device;stripping the command from the electronic programming guide data; andsending the command to the external device.
 2. The method according toclaim 1, furthering comprising embedding the tag in the electronicprogramming guide data.
 3. The method according to claim 1, furtheringcomprising inserting the tag in the electronic programming guide data.4. The method according to claim 1, furthering comprising processing thetag.
 5. The method according to claim 1, furthering comprisingcontrolling home theater equipment.
 6. The method according to claim 1,furthering comprising adjusting lighting.
 7. The method according toclaim 1, furthering comprising muting a commercial.
 8. The methodaccording to claim 1, furthering comprising adjusting volume.
 9. Themethod according to claim 1, furthering comprising muting objectionalcontent.
 10. An apparatus, comprising: a software application thatcauses a set top box to: receive electronic programming guide datacomprising a tag that identifies a command for an external device; stripthe command from the electronic programming guide data; and send thecommand to the external device.
 11. The apparatus according to claim 10,wherein the software application further causes the set top box toprocess the tag.
 12. The apparatus according to claim 10, wherein thesoftware application further causes the set top box to controlling hometheater equipment.
 13. The apparatus according to claim 10, wherein thesoftware application further causes the set top box to adjust lighting.14. The apparatus according to claim 10, wherein the softwareapplication further causes the set top box to mute a commercial.
 15. Theapparatus according to claim 10, wherein the software applicationfurther causes the set top box to adjust volume.
 16. The apparatusaccording to claim 10, wherein the software application further causesthe set top box to mute objectionable content.
 17. A storage mediumcomprising a software application that performs a method, the methodcomprising: receiving electronic programming guide data comprising a tagthat identifies a command for an external device; stripping the commandfrom the electronic programming guide data; and sending the command tothe external device.
 18. The storage medium according to claim 17,wherein the software application processes the tag.
 19. The storagemedium according to claim 17, wherein the software application controlshome theater equipment.
 20. The storage medium according to claim 17,wherein the software application adjusts volume.